home *** CD-ROM | disk | FTP | other *** search
- ;*********************************************************
- ;* *
- ;* Call the user defined transaction program *
- ;* *
- ;* This subroutine calls the user defined transaction *
- ;* program and passes to it the CREATE_TP record. *
- ;* *
- ;* *
- ;* CopyRight 1995. Nicholas Poljakov all rights reserved.*
- ;* *
- ;*********************************************************
- .MODEL LARGE
- .DATA
- .CODE
- EXTRN _tp_exit:dword
- PUBLIC _calltpn
- _calltpn PROC
- push bp
- mov bp,sp
- ;
- push ds
- ;
- mov ax, [bp + 8]
- mov dx, [bp + 6]
- cmp ax, 0ffffh ; check if the exit is not
- jne CallTP
- cmp dx, 0ffffh ; available
- jne CallTP
- mov ax, 0 ; set the return code and then exit
- mov dx,084ch ; rc. = 'tp_not_available_no_retry'
- jmp short CallTpExit
- CallTP:
- mov ds, ax
- pushf
- call _tp_exit
- ;
- ; Load the SENSE value from the CREATE_TP record.
- ;
- mov bx, dx
- mov ax, word ptr [bx + 20] ; load the ax with value of sense
- mov dx, word ptr [bx + 22] ; load the dx with value of sense
- ;
- CallTpExit:
- pop ds
- ;
- pop bp
- ret
- _calltpn ENDP
- END
-